package com.tyut.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tyut.common.annotation.Excel;
import com.tyut.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 实验室学生信息对象 tyut_student
 * 
 * @author ruoyi
 * @date 2023-11-20
 */
public class TyutStudent extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 学号 */
    @Excel(name = "学号")
    private String number;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private String sex;

    /** 出生年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 组名 */
    @Excel(name = "组名")
    private Long group;

    /** 年级   1 2 3 4 */
    @Excel(name = "年级   1 2 3 4")
    private Long grade;

    /** 专硕/学硕/博士 对应序号 123 */
    @Excel(name = "专硕/学硕/博士 对应序号 123")
    private Long position;

    /** 导师 */
    @Excel(name = "导师")
    private String guideTeacher;

    /** 研究方向 */
    @Excel(name = "研究方向")
    private String researchDirection;

    /** 研究进展 */
    @Excel(name = "研究进展")
    private String researchProgress;

    /** 论文数 */
    @Excel(name = "论文数")
    private Long paperNumber;

    /** 论文名 */
    @Excel(name = "论文名")
    private String paperName;

    /** 专利数 */
    @Excel(name = "专利数")
    private Long patentNumber;

    /** 专利状态(公开/授权) */
    @Excel(name = "专利状态(公开/授权)")
    private Long patentStatus;

    /** 专利名 */
    @Excel(name = "专利名")
    private String patentName;

    /** 参与项目数量 */
    @Excel(name = "参与项目数量")
    private Long projectNumber;

    /** 项目名 */
    @Excel(name = "项目名")
    private String projectName;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setNumber(String number) 
    {
        this.number = number;
    }

    public String getNumber() 
    {
        return number;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setGroup(Long group) 
    {
        this.group = group;
    }

    public Long getGroup() 
    {
        return group;
    }
    public void setGrade(Long grade) 
    {
        this.grade = grade;
    }

    public Long getGrade() 
    {
        return grade;
    }
    public void setPosition(Long position) 
    {
        this.position = position;
    }

    public Long getPosition() 
    {
        return position;
    }
    public void setGuideTeacher(String guideTeacher) 
    {
        this.guideTeacher = guideTeacher;
    }

    public String getGuideTeacher() 
    {
        return guideTeacher;
    }
    public void setResearchDirection(String researchDirection) 
    {
        this.researchDirection = researchDirection;
    }

    public String getResearchDirection() 
    {
        return researchDirection;
    }
    public void setResearchProgress(String researchProgress) 
    {
        this.researchProgress = researchProgress;
    }

    public String getResearchProgress() 
    {
        return researchProgress;
    }
    public void setPaperNumber(Long paperNumber) 
    {
        this.paperNumber = paperNumber;
    }

    public Long getPaperNumber() 
    {
        return paperNumber;
    }
    public void setPaperName(String paperName) 
    {
        this.paperName = paperName;
    }

    public String getPaperName() 
    {
        return paperName;
    }
    public void setPatentNumber(Long patentNumber) 
    {
        this.patentNumber = patentNumber;
    }

    public Long getPatentNumber() 
    {
        return patentNumber;
    }
    public void setPatentStatus(Long patentStatus) 
    {
        this.patentStatus = patentStatus;
    }

    public Long getPatentStatus() 
    {
        return patentStatus;
    }
    public void setPatentName(String patentName) 
    {
        this.patentName = patentName;
    }

    public String getPatentName() 
    {
        return patentName;
    }
    public void setProjectNumber(Long projectNumber) 
    {
        this.projectNumber = projectNumber;
    }

    public Long getProjectNumber() 
    {
        return projectNumber;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("number", getNumber())
            .append("name", getName())
            .append("sex", getSex())
            .append("birthday", getBirthday())
            .append("group", getGroup())
            .append("grade", getGrade())
            .append("position", getPosition())
            .append("guideTeacher", getGuideTeacher())
            .append("researchDirection", getResearchDirection())
            .append("researchProgress", getResearchProgress())
            .append("paperNumber", getPaperNumber())
            .append("paperName", getPaperName())
            .append("patentNumber", getPatentNumber())
            .append("patentStatus", getPatentStatus())
            .append("patentName", getPatentName())
            .append("projectNumber", getProjectNumber())
            .append("projectName", getProjectName())
            .toString();
    }
}
